Reed-Solomon code is a technique for adding fault tolerance to data by adding an amount of code data. Both encoding and decoding involve matrix multiplication. To encode a message, a vector representing the data to be encoded is multiplied by a distribution matrix to obtain a coded message. The coded message may pass through a data link, which may result in one or more erasures to the coded message. A decoder may receive the coded message with the one or more erasures, decode the received message by multiplying the received message by an inversion matrix that is based on the distribution matrix to obtain a decoded matrix. The complexity of matrix multiplication leads to difficulties in efficiently implementing Reed-Solomon code encoders and decoders in circuitry.
Accordingly, it would be desirable and useful to provide Reed-Solomon code encoders and decoders with improved performance and resource utilization.